import java.util.ArrayList;
import java.util.List;

public class 顺序表 {
    //在该类中进行测试Java中自带的ArrayList中的某些方法
    public static void main(String[] args) {
        //这里创建一个对象进行方法的调用
        List<Integer> arrayList = new ArrayList<>();
        //这里的泛型类决定了数组中存储的元素的包装类

        /*
        List<Integer> list = new ArrayList<>();
        这里的List是一个接口,而ArrayList是一个类
         */

        //1.尾插元素
        arrayList.add(0);
        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
        arrayList.add(4);

        //2.将元素尾插到对应位置
        arrayList.add(5,5);
        arrayList.add(6,6);
        arrayList.add(7,7);
        arrayList.add(8,8);
        arrayList.add(9,9);

        /*
        3.尾插c中的元素
        boolean addAll(Collection<? extends E>c)
        只有实现了Collection接口并且继承了E类型才能调用此方法
         */

        //4.删除指定位置的元素,要注意这里的index是数组下标,而不是数组中元素的位置
        arrayList.remove(9);
        arrayList.remove(8);
        arrayList.remove(7);
        arrayList.remove(6);

        //5.获取元素的下标
        System.out.println(arrayList.get(5));

        //6.设置下标index位置元素设置为element
        arrayList.set(3,40);

        //7.返回第一个o所在下标(这里的o可以是任何参数)
        arrayList.indexOf(1);

        //8.打印顺序表
        System.out.println(arrayList);

        //9.截取部分list
        List<Integer> list = arrayList.subList(1,3);
        list.set(1,4);

        //再次打印顺序表
        System.out.println(arrayList);

        //10.清空
        arrayList.clear();
    }
}
